/*   Copyright (C) 2011 Wolfgang Hankeln, Norma J. Wendel
 *
 *   This file is part of CDinFusion.
 *
 *   CDinFusion is free software: you can redistribute it and/or
 *   modify it under the terms of the GNU Lesser General Public 
 *   License in version 3 (LGPL3) as published by the Free Software
 *   Foundation version 3 of the License.
 *
 *   CDinFusion is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 *   Lesser General Public License for more details.
 *
 *   You should have received a copy of the Lesser General Public
 *   License along with CDinFusion; see the file COPYING. If not,
 *   write to the Free Software Foundation, 59 Temple Place - Suite 330,
 *   Boston, MA 02111-1307, USA or see <http://www.gnu.org/licenses/>.
 *   
 *   If you have any questions, send an email to: megx@mpi-bremen.de.
 */
package org.cdinfusion.data;

import org.cdinfusion.data.environment.Environment;
import org.cdinfusion.data.studytype.StudyType;

public final class CDElement {

    private String firstSequenceID;

    private String lastSequenceID;

    private int numberOfSequences;

    private Environment env;

    private StudyType study;

    private CDFastaHeader cdfheader;

    private boolean keepheader;

    public CDFastaHeader getCDFastaheader() {
	return this.cdfheader;
    }

    public void setCDFastaheader(final CDFastaHeader cdfheader) {
	this.cdfheader = cdfheader;
    }

    public Environment getEnv() {
	return this.env;
    }

    public void setEnv(final Environment env) {
	this.env = env;
    }

    public StudyType getStudy() {
	return this.study;
    }

    public void setStudy(final StudyType study) {
	this.study = study;
    }

    public boolean isKeepheader() {
	return this.keepheader;
    }

    public void setKeepheader(final boolean keepheader) {
	this.keepheader = keepheader;
    }

    public String getFirstSequenceID() {
	return this.firstSequenceID;
    }

    public void setFirstSequenceID(final String firstSequenceID) {
	this.firstSequenceID = firstSequenceID;
    }

    public String getLastSequenceID() {
	return this.lastSequenceID;
    }

    public void setLastSequenceID(final String lastSequenceID) {
	this.lastSequenceID = lastSequenceID;
    }

    public int getNumberOfSequences() {
	return this.numberOfSequences;
    }

    public void setNumberOfSequences(final int numberOfSequences) {
	this.numberOfSequences = numberOfSequences;
    }

    public CDElement(final String firstSequenceID, final String lastSequenceID, final int numberOfSequences,
	    final StudyType study, final Environment env, final CDFastaHeader cdfheader,
	    final boolean keepheader) {
	super();
	this.firstSequenceID = firstSequenceID;
	this.lastSequenceID = lastSequenceID;
	this.numberOfSequences = numberOfSequences;
	this.env = env;
	this.study = study;
	this.cdfheader = cdfheader;
	this.keepheader = keepheader;
    }

    public CDElement(final String firstSequenceID, final String lastSequenceID, final int numberOfSequences) {
	this(firstSequenceID, lastSequenceID, numberOfSequences, null, null, null, false);
    }
}